package quoridorGame;

import java.util.List;

/*
 * print the board
 * receive a move
 * test if move is valid
 * return list of valid moves
 * keep history
 */
public interface Board {
	
	//for a given board, takes in a move and determines whether it is valid
	public boolean isValidMove (Move theMove);
	public List <Move> validMoves();
	
	//takes in a move, adds it to the history, updates the board's memory
	public void updateBoard(Move newMove);
	
	//returns the history string of the board
	public String getBoard();
	
	public int shortestPath(Square startSquare, Square endSquare);
	public int shortestPathToFinish(Square startSquare);
	public boolean isPathToFinish (Square startSquare);
	
	public boolean isOver();
	
	//returns whether the square is empty of has a piece, and if so of what colour
	public int getSquareContents(Square theSquare);
	
	//may need a winner, who is winner, is winner function

}
